Micron Document
🎖️GitЯра🎖️

Node / meshtastic / Meshtastic-Android / files / schemas / event_firmware.schema.json

Displaying Raw • Download

schemas/event_firmware.schema.json gh-readonly-queue/main/pr-5954-e8fb0d3632384411e1ab015c806a2ae3631fcc42 (3b09b6ac) Text, 4.25 KB

Tb4b4b4{
Tff7b72"$schema"Tb4b4b4: Ta5d6ff"https://json-schema.org/draft/2020-12/schema"Tb4b4b4,
Tff7b72"$id"Tb4b4b4: Ta5d6ff"https://meshtastic.org/schemas/event_firmware.schema.json"Tb4b4b4,
Tff7b72"title"Tb4b4b4: Ta5d6ff"Event Firmware Metadata"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Offline-first display metadata for event-specific firmware editions. The bundled androidApp/src/main/assets/event_firmware.json shares the {version, generatedAt, source, <payload>[]} envelope used by device_links.json so a future Meshtastic API (planned GET /resource/eventFirmware) can reuse the same shape. Each record identifies its edition by the FirmwareEdition proto enum name in the `edition` field. This schema is the authoring contract for the bundled file and is bumped as the shape evolves; the runtime JSON parser is independently tolerant of unknown fields."Tb4b4b4,
Tff7b72"type"Tb4b4b4: Ta5d6ff"object"Tb4b4b4,
Tff7b72"required"Tb4b4b4: Tb4b4b4[Ta5d6ff"version"Tb4b4b4, Ta5d6ff"editions"Tb4b4b4],
Tff7b72"additionalProperties"Tb4b4b4: Tff7b72falseTb4b4b4,
Tff7b72"properties"Tb4b4b4: Tb4b4b4{
Tff7b72"version"Tb4b4b4: Tb4b4b4{
Tff7b72"type"Tb4b4b4: Ta5d6ff"integer"Tb4b4b4,
Tff7b72"minimum"Tb4b4b4: T79c0ff1Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Schema/envelope version. Bump when the structure changes incompatibly."
Tb4b4b4},
Tff7b72"generatedAt"Tb4b4b4: Tb4b4b4{
Tff7b72"type"Tb4b4b4: Ta5d6ff"string"Tb4b4b4,
Tff7b72"format"Tb4b4b4: Ta5d6ff"date-time"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"ISO-8601 timestamp the snapshot was generated."
Tb4b4b4},
Tff7b72"source"Tb4b4b4: Tb4b4b4{
Tff7b72"type"Tb4b4b4: Ta5d6ff"string"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Origin of this snapshot, e.g. \"bundled\" or the API URL it was frozen from."
Tb4b4b4},
Tff7b72"editions"Tb4b4b4: Tb4b4b4{
Tff7b72"type"Tb4b4b4: Ta5d6ff"array"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"One record per event firmware edition."Tb4b4b4,
Tff7b72"items"Tb4b4b4: Tb4b4b4{ Tff7b72"$ref"Tb4b4b4: Ta5d6ff"#/$defs/edition" Tb4b4b4}
Tb4b4b4}
Tb4b4b4},
Tff7b72"$defs"Tb4b4b4: Tb4b4b4{
Tff7b72"edition"Tb4b4b4: Tb4b4b4{
Tff7b72"type"Tb4b4b4: Ta5d6ff"object"Tb4b4b4,
Tff7b72"required"Tb4b4b4: Tb4b4b4[Ta5d6ff"edition"Tb4b4b4, Ta5d6ff"displayName"Tb4b4b4, Ta5d6ff"welcomeMessage"Tb4b4b4],
Tff7b72"additionalProperties"Tb4b4b4: Tff7b72falseTb4b4b4,
Tff7b72"properties"Tb4b4b4: Tb4b4b4{
Tff7b72"edition"Tb4b4b4: Tb4b4b4{
Tff7b72"type"Tb4b4b4: Ta5d6ff"string"Tb4b4b4,
Tff7b72"pattern"Tb4b4b4: Ta5d6ff"^[A-Z0-9_]+$"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"FirmwareEdition proto enum name, e.g. \"HAMVENTION\". A pattern (not a fixed enum list) so adding a new event needs no schema change."
Tb4b4b4},
Tff7b72"displayName"Tb4b4b4: Tb4b4b4{
Tff7b72"type"Tb4b4b4: Ta5d6ff"string"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Human-readable name shown in the UI, e.g. \"Hamvention\" (vs the enum name \"HAMVENTION\")."
Tb4b4b4},
Tff7b72"welcomeMessage"Tb4b4b4: Tb4b4b4{
Tff7b72"type"Tb4b4b4: Ta5d6ff"string"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Plain (English) welcome string. NOTE: this is intentionally NOT localized — moving it into this data file drops the Crowdin per-language translation the app's string resources previously provided. Revisit when an upstream API / localization strategy is added."
Tb4b4b4},
Tff7b72"eventStart"Tb4b4b4: Tb4b4b4{
Tff7b72"type"Tb4b4b4: Tb4b4b4[Ta5d6ff"string"Tb4b4b4, Ta5d6ff"null"Tb4b4b4],
Tff7b72"format"Tb4b4b4: Ta5d6ff"date"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"ISO-8601 date (YYYY-MM-DD) the event begins, interpreted in timeZone. Seed values are best-effort and change yearly; the upstream sync is expected to own them."
Tb4b4b4},
Tff7b72"eventEnd"Tb4b4b4: Tb4b4b4{
Tff7b72"type"Tb4b4b4: Tb4b4b4[Ta5d6ff"string"Tb4b4b4, Ta5d6ff"null"Tb4b4b4],
Tff7b72"format"Tb4b4b4: Ta5d6ff"date"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"ISO-8601 date (YYYY-MM-DD) the event ends, interpreted in timeZone."
Tb4b4b4},
Tff7b72"timeZone"Tb4b4b4: Tb4b4b4{
Tff7b72"type"Tb4b4b4: Tb4b4b4[Ta5d6ff"string"Tb4b4b4, Ta5d6ff"null"Tb4b4b4],
Tff7b72"description"Tb4b4b4: Ta5d6ff"IANA time zone id (e.g. \"America/New_York\") so eventStart/eventEnd resolve in the event's local time, not the device's."
Tb4b4b4},
Tff7b72"location"Tb4b4b4: Tb4b4b4{
Tff7b72"type"Tb4b4b4: Tb4b4b4[Ta5d6ff"string"Tb4b4b4, Ta5d6ff"null"Tb4b4b4],
Tff7b72"description"Tb4b4b4: Ta5d6ff"Free-text venue/city for display, e.g. \"Las Vegas, Nevada, USA\"."
Tb4b4b4},
Tff7b72"iconUrl"Tb4b4b4: Tb4b4b4{
Tff7b72"type"Tb4b4b4: Tb4b4b4[Ta5d6ff"string"Tb4b4b4, Ta5d6ff"null"Tb4b4b4],
Tff7b72"format"Tb4b4b4: Ta5d6ff"uri"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"URL of the event branding icon. Null when no hosted icon exists yet."
Tb4b4b4},
Tff7b72"accentColor"Tb4b4b4: Tb4b4b4{
Tff7b72"type"Tb4b4b4: Tb4b4b4[Ta5d6ff"string"Tb4b4b4, Ta5d6ff"null"Tb4b4b4],
Tff7b72"pattern"Tb4b4b4: Ta5d6ff"^#[0-9A-Fa-f]{6}$"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Brand/accent color (#RRGGBB) for ambient event theming."
Tb4b4b4},
Tff7b72"links"Tb4b4b4: Tb4b4b4{
Tff7b72"type"Tb4b4b4: Ta5d6ff"array"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Labeled links for the event (website, schedule, map, …)."Tb4b4b4,
Tff7b72"items"Tb4b4b4: Tb4b4b4{ Tff7b72"$ref"Tb4b4b4: Ta5d6ff"#/$defs/link" Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4},
Tff7b72"link"Tb4b4b4: Tb4b4b4{
Tff7b72"type"Tb4b4b4: Ta5d6ff"object"Tb4b4b4,
Tff7b72"required"Tb4b4b4: Tb4b4b4[Ta5d6ff"label"Tb4b4b4, Ta5d6ff"url"Tb4b4b4],
Tff7b72"additionalProperties"Tb4b4b4: Tff7b72falseTb4b4b4,
Tff7b72"properties"Tb4b4b4: Tb4b4b4{
Tff7b72"label"Tb4b4b4: Tb4b4b4{ Tff7b72"type"Tb4b4b4: Ta5d6ff"string"Tb4b4b4, Tff7b72"description"Tb4b4b4: Ta5d6ff"Display text for the link." Tb4b4b4},
Tff7b72"url"Tb4b4b4: Tb4b4b4{ Tff7b72"type"Tb4b4b4: Ta5d6ff"string"Tb4b4b4, Tff7b72"format"Tb4b4b4: Ta5d6ff"uri"Tb4b4b4, Tff7b72"description"Tb4b4b4: Ta5d6ff"Destination URL." Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}

Served by rngit 1.5.2 - Generated in 0.03s